博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件工程概论课堂测试01
阅读量:5247 次
发布时间:2019-06-14

本文共 13944 字,大约阅读时间需要 46 分钟。

1.网站系统开发需要掌握的技术

HTML语言可控制网页的内容。

⑵层叠样式表CSS控制网页的样式,比如不同的颜色,布局,排版。

⑶MySQL:一个网站会有很多页面,一个页面需要做一张html,当有很多张时就会需要维护在MySQL中。

⑷JDBC:一种用于执行SQL语句的Java API。当有很多张表时,如何操作这些数据呢?这是需要通过JDBC驱动与数据库建立连接、发送 操作数据库的语句并处理结果。

⑸JAVA语言基础:为了满足JDBC的运行,我们需要用到java语言。将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行。

⑹JSP:是一种动态页面技术。想要将通过JDBC操作的数据显示在HTML上,这时就需要用到JSP。

⑺Tomcat:Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat服务器具有处理HTML页面的功能。另外它还是一个Servlet和JSP容器,可以保证JSP的运行。

⑻js(JavaScript):是目前所有主流浏览器上唯一支持的脚本语言,它能够让我们的网页具有动态效果。

⑼PS(PhotoShop):图片处理技术,网站制作过程中经常需要对图片进行处理,这时我们需要用到ps图片处理技术让我们想要的图片更适合我们的网站。

……

网站系统开发需要掌握的技术还有很多,以上只是比较基础的一些,还有PHP、.net、asp、Bootstrap等等,以后还需要更深入的学习。^_^

 

2.程序源代码

定义接口,用以声明对用户的增删改查功能

package com.jaovo.msg.dao;import java.util.List;import com.jaovo.msg.model.User;//定义接口,用以声明用户的增删改查public interface IUserDao {    public void add(User user);    public void delete(int id);    public void update(User user);    public User load(int id);    public User load(String username);    public List
load(); }

实现对用户的增删改查功能

package com.jaovo.msg.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.jaovo.msg.Util.DBUtil;import com.jaovo.msg.Util.UserException;import com.jaovo.msg.model.User;import sun.net.www.content.text.plain;public class UserDaoImpl {            //添加用户    public void add(User user) {        //获得链接对象        Connection connection = DBUtil.getConnection();        //准备sql语句        String sql = "select count(*) from l_user where username = ?";        //创建语句传输对象        PreparedStatement preparedStatement = null;        ResultSet resultSet = null;        try {            preparedStatement = connection.prepareStatement(sql);            preparedStatement.setString(1, user.getUsername());            //接收结果集            resultSet = preparedStatement.executeQuery();            //遍历结果集            while(resultSet.next()) {                if (resultSet.getInt(1) > 0) {                    throw new UserException("用户已存在") ;                }            }                        sql = "insert into l_user(username,password) value (?,?)";            preparedStatement = connection.prepareStatement(sql);            preparedStatement.setString(1, user.getUsername());            preparedStatement.setString(2, user.getPassword());            preparedStatement.executeUpdate();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }finally {            //关闭资源            DBUtil.close(resultSet);            DBUtil.close(preparedStatement);            DBUtil.close(connection);        }            }    //删除用户    public void delete(int id) {        Connection connection = DBUtil.getConnection();        String sql = "delete from l_user where id = ?";        PreparedStatement preparedStatement = null;                try {            preparedStatement = connection.prepareStatement(sql);            preparedStatement.setInt(1, id);            preparedStatement.executeUpdate();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }finally {            DBUtil.close(preparedStatement);            DBUtil.close(connection);        }            }    //修改用户信息    public void update(User user) {        Connection connection = DBUtil.getConnection();        //准备sql语句        String sql = "update l_user set password = ?,where id = ?";        //创建语句传输对象        PreparedStatement preparedStatement = null;        try {            preparedStatement = connection.prepareStatement(sql);            preparedStatement.setString(1, user.getPassword());            preparedStatement.setInt(2, user.getID());            preparedStatement.executeUpdate();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }finally {            DBUtil.close(preparedStatement);            DBUtil.close(connection);        }    }    //以编号查找用户    public User load(int id) {        Connection connection = DBUtil.getConnection();        //准备sql语句        String sql = "select * from l_user  where id = ?";        //创建语句传输对象        PreparedStatement preparedStatement = null;        ResultSet resultSet = null;        User user = null;        try {            preparedStatement = connection.prepareStatement(sql);            preparedStatement.setInt(1, id);            resultSet = preparedStatement.executeQuery();            while(resultSet.next()) {                user = new User();                user.setID(id);                user.setUsername(resultSet.getString("username"));                user.setPassword(resultSet.getString("password"));            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }finally {            DBUtil.close(resultSet);            DBUtil.close(preparedStatement);            DBUtil.close(connection);        }        return  user;    }            //以用户姓名查找用户信息    public User load(String username) {        // TODO Auto-generated method stub        Connection connection = DBUtil.getConnection();        //准备sql语句        String sql = "select * from l_user  where username = ?";        //创建语句传输对象        PreparedStatement preparedStatement = null;        ResultSet resultSet = null;        User user = null;        try {            preparedStatement = connection.prepareStatement(sql);            preparedStatement.setString(1, username);            resultSet = preparedStatement.executeQuery();            while(resultSet.next()) {                user = new User();                user.setUsername(username);                user.setUsername(resultSet.getString("username"));                user.setPassword(resultSet.getString("password"));            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }finally {            DBUtil.close(resultSet);            DBUtil.close(preparedStatement);            DBUtil.close(connection);        }        return  user;    }    //显示所有用户信息    public List
load() { Connection connection = DBUtil.getConnection(); //准备sql语句 String sql = "select * from l_user "; //创建语句传输对象 PreparedStatement preparedStatement = null; ResultSet resultSet = null; //集合中只能放入user对象 List
users = new ArrayList
(); User user = null; try { preparedStatement = connection.prepareStatement(sql); resultSet = preparedStatement.executeQuery(); while(resultSet.next()) { user = new User(); user.setID(resultSet.getInt("id")); user.setUsername(resultSet.getString("username")); user.setPassword(resultSet.getString("password")); users.add(user); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(resultSet); DBUtil.close(preparedStatement); DBUtil.close(connection); } return users; }}

定义user类

package com.jaovo.msg.model;public class User {    //数据成员:编号,姓名,密码    private int ID;    private String username;    private String password;            //封装函数    public int getID() {        return ID;    }    public void setID(int iD) {        ID = iD;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }                }

定义工具类:实现连接数据库与关闭

package com.jaovo.msg.Util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;//工具类:实现连接数据库public class DBUtil {    public  static  Connection getConnection() {        try {            //1 加载驱动            Class.forName("com.mysql.jdbc.Driver").newInstance();        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        String user = "root";        String password = "chen123";        String url = "jdbc:mysql://localhost:3306/jaovo_Login";        Connection connection = null;        try {            //2 创建链接对象connection             connection = DriverManager.getConnection(url,user,password);        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return connection;}            //关闭资源的方法        public static void close(Connection connection ) {            try {                if (connection != null) {                    connection.close();                }                            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }        public static void close(PreparedStatement preparedStatement ) {            try {                if (preparedStatement != null) {                    preparedStatement.close();                }                            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }        public static void close(ResultSet resultSet ) {            try {                if (resultSet != null) {                    resultSet.close();                }                            } catch (SQLException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }        }

定义异常类

package com.jaovo.msg.Util;public class UserException extends RuntimeException{    public UserException() {        super();        // TODO Auto-generated constructor stub    }    public UserException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {        super(message, cause, enableSuppression, writableStackTrace);        // TODO Auto-generated constructor stub    }    public UserException(String message, Throwable cause) {        super(message, cause);        // TODO Auto-generated constructor stub    }    public UserException(String message) {        super(message);        // TODO Auto-generated constructor stub    }    public UserException(Throwable cause) {        super(cause);        // TODO Auto-generated constructor stub    }    }

设计登录界面(JSP)

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>    用户登录页面    <%=request.getAttribute("error") %>    
用户名称 :
用户密码:

登录界面的输入(JSP)

<%@page import="com.jaovo.msg.Util.UserException"%><%@page import="com.jaovo.msg.dao.UserDaoImpl"%><%@page import="com.jaovo.msg.model.User"%><%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%    //接收客户传递过来的参数    String username = request.getParameter("username");    String password = request.getParameter("password");    if(username == null || "".equals(username.trim())){        request.setAttribute("error", "用户名不能为空");    %>    
<% } User user = new User(); user.setUsername(username); user.setPassword(password); UserDaoImpl userDao = new UserDaoImpl(); try{ userDao.add(user); //重定向 response.sendRedirect("list.jsp");%> <% }catch(UserException e){%>

发生错误 : <%=e.getMessage() %>

<% } %>

显示所有用户的信息表

<%@page import="com.jaovo.msg.model.User"%><%@page import="java.util.List"%><%@page import="com.jaovo.msg.dao.UserDaoImpl"%><%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
用户展示界面<% UserDaoImpl userDao = new UserDaoImpl(); List
users = userDao.load();%>
<% for( User user : users ){ %>
<% } %>
用户编号 用户名称 用户密码
<%=user.getID() %> <%=user.getUsername() %> <%=user.getPassword() %> <%=user.getID() %>" >删除

操作数据库

-- mysal -u root -p root;-- show databases;-- drop database jaovo_shop;create database jaovo_Login;use jaovo_Login;GRANT ALL ON jaovo_Login.* to "jaovo"@"localhost" IDENTIFIED BY "root";create table l_user(     id int(10) primary key auto_increment,     username varchar(255),     password varchar(255),     type int(2),     status int(2));create table l_message(   id          int(10) primary key auto_increment,                   title                varchar(254),   content              text,   post_date             datetime,   user_id               int(10),   CONSTRAINT FOREIGN KEY(user_id) REFERENCES l_user(id));create table l_comment(   id        int(10) primary key auto_increment,     content       text,   post_date     datetime,   user_id       int(10),   msg_id        int(10),   CONSTRAINT FOREIGN KEY(user_id) REFERENCES l_user(id),   CONSTRAINT FOREIGN KEY(msg_id) REFERENCES l_message(id));

 

3.运行结果截图

 

 

 

 4.难点

对于界面的操作与对数据库的操作(重点)。

5.目标

希望能讲的详细一点,以便打好基础。希望学完这门课,自己的编程能力有一个提升,以及提高团队之间的默契度。我预计一个星期大概会有一天半的空余时间去练习。

转载于:https://www.cnblogs.com/qilin20/p/7881123.html

你可能感兴趣的文章
缓存三大问题
查看>>
python--中的文件操作
查看>>
C# 如何从List集合当中取出子集合
查看>>
如何通过binlog获取我们想要的MySql语句?
查看>>
一线开发读CLR --- 写在最前面
查看>>
Android(java)学习笔记176: 远程服务的应用场景(移动支付案例)
查看>>
poj2255Tree Recovery【二叉树重构】
查看>>
(21)模型层 -ORM之msql 聚合查询,F和Q(与、或、非查询)、分组查询
查看>>
tcpcopy 流量复制工具
查看>>
HttpClient 教程 (五)
查看>>
vue和react的区别
查看>>
PHP文件包含漏洞利用
查看>>
document.documentElement和document.body区别介绍
查看>>
Cocos2d-x中Vector使用
查看>>
第十一次作业
查看>>
mybatis CRUD
查看>>
负载均衡策略
查看>>
Go 语言的基本数据类型
查看>>
校友聊场景调研
查看>>
设计模式第一次作业
查看>>